#! /bin/bash

# This library is free software; you can redistribute it and/or
# modify it under the terms of version 2.1 of the GNU Lesser General
# Public License as published by the Free Software Foundation.
#
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
# Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public
# License along with this library; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
# USA
#
# Copyright (C) 2017 Ericsson AB

for bridge in `ovs-vsctl -- --real list-br`
do
    PROTOCOLS="$(ovs-vsctl get Bridge "$bridge" protocols)"
    if [ "$PROTOCOLS" = "[]" ]
    then
        echo "ovs-ofctl $1 ${bridge} $2"
        eval ovs-ofctl $1 "${bridge}" $2
    else
        LENGTHPRO="$(expr length "$PROTOCOLS")"
        COMMAIND="$(expr index "$PROTOCOLS" ,)"
        echo "ovs-ofctl $1 -O${PROTOCOLS:${COMMAIND}+2:${LENGTHPRO}-${COMMAIND}-4} ${bridge} $2"
        eval ovs-ofctl $1 -O"${PROTOCOLS:${COMMAIND}+2:${LENGTHPRO}-${COMMAIND}-4}" "${bridge}" $2
    fi
    echo ""
done
